package com.umpay.dto.merBusi.req.quickpayment;

import org.hibernate.validator.constraints.NotEmpty;

import com.umpay.annotation.Pattern;
import com.umpay.dto.merBusi.req.CommonBusiReq;

public class QuickPaymentVerifyCodeBusiReq  extends CommonBusiReq {

	/**
	 * 商户号
	 */
	@NotEmpty(message = "商户号不能为空")
	@Pattern(message="商户号格式不正确")
	private String merId;
	
	/**
	 * 服务器异步通知路径
	 */
	@Pattern(message = "服务器异步通知路径格式不正确")
	private String notifyUrl;
	
	/**
	 * 商户流水号
	 */
	@NotEmpty(message ="商户流水号不能为空")
	@Pattern(message = "商户流水号格式不正确")
	private String merTrace;
	
	/**
	 * 联动订单号
	 */
	@NotEmpty(message = "联动订单号不能为空")
	@Pattern(message = "联动订单号格式不正确")
	private String tradeNo;
	
	/**
	 * 银行预留手机号
	 */
	@NotEmpty(message = "银行预留手机号不能为空")
	@Pattern(message = "银行预留手机号格式不正确")
	private String bankMobileId;
	
	/**
	 * 支付协议号
	 */
	@Pattern(message = "支付协议号格式不正确")
	private String pAgreementId;
	
	/**
	 * 卡号
	 */
	@Pattern(message = "卡号格式不正确")
	private String cardId;
	
	/**
	 * 持卡人姓名
	 */
	@Pattern(message = "持卡人姓名格式不正确")
	private String cardHolder;
	
	/**
	 * 证件类型
	 */
	@Pattern(message = "证件类型格式不正确")
	private String identityType;
	
	/**
	 * 证件号
	 */
	@Pattern(message = "证件号格式不正确")
	private String identityCode;
	
	/**
	 * 信用卡有效期（YYMM）
	 */
	@Pattern(message = "信用卡有效期（YYMM）格式不正确")
	private String validDate;
	/**
	 * 信用卡CVN2/CVV2
	 */
	@Pattern(message = "信用卡CVN2/CVV2格式不正确")
	private String cvv2;
	
	private String bProductId;
	public String getMerId() {
		return merId;
	}
	public void setMerId(String merId) {
		this.merId = merId;
	}
	public String getNotifyUrl() {
		return notifyUrl;
	}
	public void setNotifyUrl(String notifyUrl) {
		this.notifyUrl = notifyUrl;
	}
	public String getMerTrace() {
		return merTrace;
	}
	public void setMerTrace(String merTrace) {
		this.merTrace = merTrace;
	}
	public String getTradeNo() {
		return tradeNo;
	}
	public void setTradeNo(String tradeNo) {
		this.tradeNo = tradeNo;
	}
	public String getBankMobileId() {
		return bankMobileId;
	}
	public void setBankMobileId(String bankMobileId) {
		this.bankMobileId = bankMobileId;
	}
	public String getpAgreementId() {
		return pAgreementId;
	}
	public void setpAgreementId(String pAgreementId) {
		this.pAgreementId = pAgreementId;
	}
	public String getCardId() {
		return cardId;
	}
	public void setCardId(String cardId) {
		this.cardId = cardId;
	}
	public String getCardHolder() {
		return cardHolder;
	}
	public void setCardHolder(String cardHolder) {
		this.cardHolder = cardHolder;
	}
	public String getIdentityType() {
		return identityType;
	}
	public void setIdentityType(String identityType) {
		this.identityType = identityType;
	}
	public String getIdentityCode() {
		return identityCode;
	}
	public void setIdentityCode(String identityCode) {
		this.identityCode = identityCode;
	}
	public String getValidDate() {
		return validDate;
	}
	public void setValidDate(String validDate) {
		this.validDate = validDate;
	}
	public String getCvv2() {
		return cvv2;
	}
	public void setCvv2(String cvv2) {
		this.cvv2 = cvv2;
	}
	public String getbProductId() {
		return bProductId;
	}
	public void setbProductId(String bProductId) {
		this.bProductId = bProductId;
	}
	@Override
	public String toString() {
		return "QuickPaymentVerifyCodeBusiReq [merId=" + merId + ", notifyUrl=" + notifyUrl + ", merTrace=" + merTrace
				+ ", tradeNo=" + tradeNo + ", bankMobileId=" + bankMobileId + ", pAgreementId=" + pAgreementId
				+ ", cardId=" + cardId + ", cardHolder=" + cardHolder + ", identityType=" + identityType
				+ ", identityCode=" + identityCode + ", validDate=" + validDate + ", cvv2=" + cvv2 + ", bProductId="
				+ bProductId + ", rpid=" + rpid + ", version=" + version + ", reqDate=" + reqDate + ", reqTime="
				+ reqTime + "]";
	}
	
}
